
package cn.org.chiss.rhin._2015.base.document;

import cn.org.chiss.rhin._2015.base.String;
import cn.org.chiss.rhin._2015.base.*;
import cn.org.chiss.rhin._2015.base.object.RegObjectMessage;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import java.util.List;


@Data
@EqualsAndHashCode(callSuper = false)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SubmissionSetMessage", propOrder = {
        "uniqueId",
        "submissionTime",
        "title",
        "patientId",
        "author",
        "intendedRecipient",
        "contentTypeCode",
        "sourceId",
        "homeCommunityId",
        "comments"
})
public class SubmissionSetMessage extends RegObjectMessage {

    /**
     * 提交集唯一标识符OID
     * c必填
     * m必填
     */
    @XmlElement(required = true)
    protected OID uniqueId;
    /**
     * 提交时间
     * c必填
     * m必填
     */
    @XmlElement(required = true)
    protected DateTime submissionTime;
    /**
     * 标题
     * c非必填
     * m非必填
     */
    protected String title;
    /**
     * 患者唯一标识
     * c必填
     * m必填
     */
    @XmlElement(required = true)
    protected Identifier patientId;
    /**
     * 作者
     * c非必填
     * m非必填
     */
    protected List<Author> author;
    /**
     * 接收者 限制要在可选范围内
     * c非必填
     * m非必填
     */
    protected List<Reference> intendedRecipient;
    /**
     * 内容类型代码 一般与文档的classCode一致
     * c必填
     * m必填
     */
    protected CodeableConcept contentTypeCode;
    /**
     * 文档源标识符OID
     * c必填
     * m必填 用于确认提交集由那个系统提交
     */
    protected OID sourceId;
    /**
     * 区域唯一标识符OID
     */
    protected URI homeCommunityId;
    /**
     * 注释String
     * c非必填
     * m非必填
     */
    protected String comments;


}
